From: Jasper St. Pierre Date: Thu, 24 May 2012 16:24:07 +0000 (-0400) Subject: extensionSystem: Use Gio.File.new_tmp X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~6541 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=0c736c45615169dc03ba99377a9de528741cec42;p=gnome-shell.git extensionSystem: Use Gio.File.new_tmp https://bugzilla.gnome.org/show_bug.cgi?id=676837 --- diff --git a/js/ui/extensionSystem.js b/js/ui/extensionSystem.js index 9435092cf..2d64acdab 100644 --- a/js/ui/extensionSystem.js +++ b/js/ui/extensionSystem.js @@ -100,21 +100,12 @@ function gotExtensionZipFile(session, message, uuid) { return; } - // FIXME: use a GFile mkstemp-type method once one exists - let fd, tmpzip; - try { - [fd, tmpzip] = GLib.file_open_tmp('XXXXXX.shell-extension.zip'); - } catch (e) { - logExtensionError(uuid, 'tempfile: ' + e.toString()); - return; - } - - let stream = new Gio.UnixOutputStream({ fd: fd }); + let [file, stream] = Gio.File.new_tmp('XXXXXX.shell-extension.zip'); let dir = ExtensionUtils.userExtensionsDir.get_child(uuid); - Shell.write_soup_message_to_stream(stream, message); + Shell.write_soup_message_to_stream(stream.output_stream, message); stream.close(null); let [success, pid] = GLib.spawn_async(null, - ['unzip', '-uod', dir.get_path(), '--', tmpzip], + ['unzip', '-uod', dir.get_path(), '--', file.get_path()], null, GLib.SpawnFlags.SEARCH_PATH | GLib.SpawnFlags.DO_NOT_REAP_CHILD, null);